As most office works are computerized, most documents generated from the office works are created and circulated as a form of a computerized file. Most operating systems give a file name and a file path to a file to identify these files.
Additionally, much of the computerized office works are created, edited and processed by multiple user groups rather than by one user, and in this case, a file may be shared by transmission over a network or by access allowed for multiple users in a single location of storage.
However, in case each user creates a file which is processed by the multiple user groups and if the file name and the file path for identification of the file is determined arbitrarily by the each user, systematic management of the file may be difficult.
Additionally, as the multiple users may edit and process the file, it is difficult to track and manage contents edited by different users. As the case may be, edited contents of the file may be lost or contradiction may occur in the contents, as different users modify the file simultaneously.
In an endeavor to resolve these problems, e.g., in the Korean Patent Registration No. 10-1525984, a method is disclosed that in case a dialogue window corresponding to saving a file is called upon, a document managing device automatically designates and displays a file name and a storage path for the file to a user, and by receiving a user input, saves the file according to the file name and the storage path thus chosen.
The method mostly utilizes a technique of changing the mode of operation by intercepting a specific point in a written code, in other words, hooking. For example, a hooking method on the Microsoft Windows operating system includes normally registering and using a hook dll in a reserved location of a registry, or forcibly accessing MS Word by changing the content of the Import Address Table (IAT) of the Portable Executable (PE) file into a function of interest.
This assumes in general that it is applicable only when a file saving activity shows a pop-up dialogue window for saving the file, that confirmation of the file name and the storage path is done by the user and that the user group writes the files in a single server (a repository), and this poses limitation of unavailability of a local device that the each user may use beside the server in which the users share their files.
Moreover, this method may cause a deadlock with other application using an identical hooking technique. By referring to FIG. 8, in case the contents of the file (resource 1) is allocated to other application (process 1), e.g., if an address (resource 2) of a file storing function is allocated to an application (process 2) of Korean Patent Registration No. 10-1525984, a system halts from a deadlock occurred at the time of file saving.
In an effort to resolve this problem and to keep a deadlock from happening, controlling methods of a deadlock avoidance by occupying resource in order identical to that of other application, or a deadlock prevention by acquiring privileges (e.g., administrator privileges) higher than that of other application and forcing other application to return resource thereof, are used. However, even these methods are not fundamental solutions, as these do not remove the cause per se that may bring a deadlock.